/*! 
 *  Implements the logic flow and input management for the AudioManagerTest application
 *  -
 *  Implementation of an audio wrapper, Sound Programming course
 *  Master in Computer Game Development, Verona, Italy
 *  -
 *  \author Andrea Casaccia
 *  \date 08 July 2012
 */

#pragma once

#include "AudioWrapper.h";

namespace State
{
	const int
		NOT_INITIALIZED = 0,
		INITIALIZED = 1,
		LOADED = 2,
		EXITING = 3;
}

class FiniteStateMachine {

private:
	int mCurrentState;
	AudioWrapper* mAudioWrapper;
	int mExitStatus;

public:
	FiniteStateMachine(AudioWrapper*);
	void update();

};